Different graphics processing unit architectures may have different instruction set architectures, application binary interfaces, and memory environments. Generally, the instruction set architecture defines the operations available on a given piece of programmable hardware, such as a graphics processing unit, and the application binary interface may include a set of rules that describe the environment in which a program will execute.